namespace ext.tree
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <definedin>src\widgets\tree\TreeNode.js</definedin>
	[ScriptName("TreeNode")]
	[ScriptNamespace("Ext.tree")]
	[Imported()]
	public partial class TreeNode : ext.data.Node
	{
		
		#region Constructors
		/// <summary>Constructor</summary>
		/// <param name="attributes">The attributes/config for the node or just a string with the text for the node</param>
		public TreeNode(object attributes)
		{
		}
		
		/// <summary>Constructor</summary>
		/// <param name="attributes">The attributes/config for the node or just a string with the text for the node</param>
		public TreeNode(string attributes)
		{
		}
		
		/// <summary>Constructor</summary>
		public TreeNode()
		{
		}
		#endregion
		
		#region Fields
		/// <summary>Fires when the text for this node is changed</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("textchangeEventName")]
		public const string TextchangeEventName = "textchange";
		
		/// <summary>Fires before this node is expanded, return false to cancel.</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("beforeexpandEventName")]
		public const string BeforeexpandEventName = "beforeexpand";
		
		/// <summary>Fires before this node is collapsed, return false to cancel.</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("beforecollapseEventName")]
		public const string BeforecollapseEventName = "beforecollapse";
		
		/// <summary>Fires when this node is expanded</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("expandEventName")]
		public const string ExpandEventName = "expand";
		
		/// <summary>Fires when the disabled status of this node changes</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("disabledchangeEventName")]
		public const string DisabledchangeEventName = "disabledchange";
		
		/// <summary>Fires when this node is collapsed</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("collapseEventName")]
		public const string CollapseEventName = "collapse";
		
		/// <summary>Fires before click processing. Return false to cancel the default action.</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("beforeclickEventName")]
		public const string BeforeclickEventName = "beforeclick";
		
		/// <summary>Fires when this node is clicked</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("clickEventName")]
		public const string ClickEventName = "click";
		
		/// <summary>Fires when a node with a checkbox&apos;s checked property changes</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("checkchangeEventName")]
		public const string CheckchangeEventName = "checkchange";
		
		/// <summary>Fires before double click processing. Return false to cancel the default action.</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("beforedblclickEventName")]
		public const string BeforedblclickEventName = "beforedblclick";
		
		/// <summary>Fires when this node is double clicked</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("dblclickEventName")]
		public const string DblclickEventName = "dblclick";
		
		/// <summary>Fires when this node is right clicked</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("contextmenuEventName")]
		public const string ContextmenuEventName = "contextmenu";
		
		/// <summary>Fires right before the child nodes for this node are rendered</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("beforechildrenrenderedEventName")]
		public const string BeforechildrenrenderedEventName = "beforechildrenrendered";
		#endregion
		
		#region Properties
		/// <summary>Read-only. The text for this node. To change it use {@link #setText}.</summary>
		/// <htmlSummary>Read-only. The text for this node. To change it use &lt;code&gt;{@link #setText}&lt;/code&gt;.</htmlSummary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("text")]
		[IntrinsicProperty()]
		public string Text
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
		}
		
		/// <summary>True if this node is disabled.</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("disabled")]
		[IntrinsicProperty()]
		public bool Disabled
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		
		/// <summary>True if this node is hidden.</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("hidden")]
		[IntrinsicProperty()]
		public bool Hidden
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		
		/// <summary>Read-only. The UI for this node</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("ui")]
		[IntrinsicProperty()]
		public ext.tree.TreeNodeUI Ui
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
		}
		#endregion
		
		#region Methods
		/// <summary>Returns true if this node is expanded</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("isExpanded")]
		public bool IsExpanded()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns the UI object for this node.</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		/// <returns>
		/// The object which is providing the user interface for this tree
		/// node. Unless otherwise specified in the {@link #uiProvider}, this will be an instance
		/// of {@link Ext.tree.TreeNodeUI}
		/// </returns>
		[ScriptName("getUI")]
		public ext.tree.TreeNodeUI GetUI()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Sets the text for this node</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		/// <param name="text"></param>
		[ScriptName("setText")]
		public void SetText(string text)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Sets the icon class for this node.</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		/// <param name="cls"></param>
		[ScriptName("setIconCls")]
		public void SetIconCls(string cls)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Sets the icon for this node.</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		/// <param name="icon"></param>
		[ScriptName("setIcon")]
		public void SetIcon(string icon)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Sets the href for the node.</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		/// <param name="href">The href to set</param>
		/// <param name="Optional">target The target of the href</param>
		[ScriptName("setHref")]
		public void SetHref(string href, string Optional)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Sets the class on this node.</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		/// <param name="cls"></param>
		[ScriptName("setCls")]
		public void SetCls(string cls)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Triggers selection of this node</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("select")]
		public void Select()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns true if this node is selected</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("isSelected")]
		public bool IsSelected()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Toggles expanded/collapsed state of the node</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("toggle")]
		public void Toggle()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Disables this node</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("disable")]
		public void Disable()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Enables this node</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("enable")]
		public void Enable()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Sets the tooltip for this node.</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		/// <param name="tip">The text for the tip</param>
		/// <param name="title">The title for the tip</param>
		[ScriptName("setTooltip")]
		public void SetTooltip(string tip, string title)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Sets the tooltip for this node.</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		/// <param name="tip">The text for the tip</param>
		[ScriptName("setTooltip")]
		public void SetTooltip(string tip)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Triggers deselection of this node</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		/// <param name="silent">True to stop selection change events from firing.</param>
		[ScriptName("unselect")]
		public void Unselect(bool silent)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Triggers deselection of this node</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("unselect")]
		public void Unselect()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Expand this node.</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		/// <param name="deep">True to expand all children as well</param>
		/// <param name="anim">false to cancel the default animation</param>
		/// <param name="callback">
		/// A callback to be called when
		/// expanding this node completes (does not wait for deep expand to complete).
		/// Called with 1 parameter, this node.
		/// </param>
		/// <param name="scope">The scope (<c>this</c> reference) in which the callback is executed. Defaults to this TreeNode.</param>
		[ScriptName("expand")]
		public void ExpandMethod(bool deep, bool anim, System.Delegate callback, object scope)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Expand this node.</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		/// <param name="deep">True to expand all children as well</param>
		/// <param name="anim">false to cancel the default animation</param>
		/// <param name="callback">
		/// A callback to be called when
		/// expanding this node completes (does not wait for deep expand to complete).
		/// Called with 1 parameter, this node.
		/// </param>
		[ScriptName("expand")]
		public void ExpandMethod(bool deep, bool anim, System.Delegate callback)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Expand this node.</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		/// <param name="deep">True to expand all children as well</param>
		/// <param name="anim">false to cancel the default animation</param>
		[ScriptName("expand")]
		public void ExpandMethod(bool deep, bool anim)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Expand this node.</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		/// <param name="deep">True to expand all children as well</param>
		[ScriptName("expand")]
		public void ExpandMethod(bool deep)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Expand this node.</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("expand")]
		public void ExpandMethod()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Collapse this node.</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		/// <param name="deep">True to collapse all children as well</param>
		/// <param name="anim">false to cancel the default animation</param>
		/// <param name="callback">
		/// A callback to be called when
		/// expanding this node completes (does not wait for deep expand to complete).
		/// Called with 1 parameter, this node.
		/// </param>
		/// <param name="scope">The scope (<c>this</c> reference) in which the callback is executed. Defaults to this TreeNode.</param>
		[ScriptName("collapse")]
		public void CollapseMethod(bool deep, bool anim, System.Delegate callback, object scope)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Collapse this node.</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		/// <param name="deep">True to collapse all children as well</param>
		/// <param name="anim">false to cancel the default animation</param>
		/// <param name="callback">
		/// A callback to be called when
		/// expanding this node completes (does not wait for deep expand to complete).
		/// Called with 1 parameter, this node.
		/// </param>
		[ScriptName("collapse")]
		public void CollapseMethod(bool deep, bool anim, System.Delegate callback)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Collapse this node.</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		/// <param name="deep">True to collapse all children as well</param>
		/// <param name="anim">false to cancel the default animation</param>
		[ScriptName("collapse")]
		public void CollapseMethod(bool deep, bool anim)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Collapse this node.</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		/// <param name="deep">True to collapse all children as well</param>
		[ScriptName("collapse")]
		public void CollapseMethod(bool deep)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Collapse this node.</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("collapse")]
		public void CollapseMethod()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Ensures all parent nodes are expanded, and if necessary, scrolls
		/// the node into view.
		/// </summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		/// <param name="callback">A function to call when the node has been made visible.</param>
		/// <param name="scope">The scope (<c>this</c> reference) in which the callback is executed. Defaults to this TreeNode.</param>
		[ScriptName("ensureVisible")]
		public void EnsureVisible(System.Delegate callback, object scope)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Ensures all parent nodes are expanded, and if necessary, scrolls
		/// the node into view.
		/// </summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		/// <param name="callback">A function to call when the node has been made visible.</param>
		[ScriptName("ensureVisible")]
		public void EnsureVisible(System.Delegate callback)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Ensures all parent nodes are expanded, and if necessary, scrolls
		/// the node into view.
		/// </summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("ensureVisible")]
		public void EnsureVisible()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Expand all child nodes</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		/// <param name="deep">true if the child nodes should also expand their child nodes</param>
		[ScriptName("expandChildNodes")]
		public void ExpandChildNodes(bool deep)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Expand all child nodes</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("expandChildNodes")]
		public void ExpandChildNodes()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Collapse all child nodes</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		/// <param name="deep">true if the child nodes should also collapse their child nodes</param>
		[ScriptName("collapseChildNodes")]
		public void CollapseChildNodes(bool deep)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Collapse all child nodes</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("collapseChildNodes")]
		public void CollapseChildNodes()
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
		
		#region Events
		/// <summary>Fires when the text for this node is changed</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("textchange")]
		public event ext.auto.Delegate_ext_tree_TreeNode_And_System_String_And_System_String Textchange;
		
		/// <summary>Fires before this node is expanded, return false to cancel.</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("beforeexpand")]
		public event ext.auto.Delegate_ext_tree_TreeNode_And_System_Boolean_And_System_Boolean Beforeexpand;
		
		/// <summary>Fires before this node is collapsed, return false to cancel.</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("beforecollapse")]
		public event ext.auto.Delegate_ext_tree_TreeNode_And_System_Boolean_And_System_Boolean Beforecollapse;
		
		/// <summary>Fires when this node is expanded</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("expand")]
		public event ext.auto.Delegate_ext_tree_TreeNode Expand;
		
		/// <summary>Fires when the disabled status of this node changes</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("disabledchange")]
		public event ext.auto.Delegate_ext_tree_TreeNode_And_System_Boolean Disabledchange;
		
		/// <summary>Fires when this node is collapsed</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("collapse")]
		public event ext.auto.Delegate_ext_tree_TreeNode Collapse;
		
		/// <summary>Fires before click processing. Return false to cancel the default action.</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("beforeclick")]
		public event ext.auto.Delegate_ext_tree_TreeNode_And_ext_EventObject Beforeclick;
		
		/// <summary>Fires when this node is clicked</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("click")]
		public event ext.auto.Delegate_ext_tree_TreeNode_And_ext_EventObject Click;
		
		/// <summary>Fires when a node with a checkbox&apos;s checked property changes</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("checkchange")]
		public event ext.auto.Delegate_ext_tree_TreeNode_And_System_Boolean Checkchange;
		
		/// <summary>Fires before double click processing. Return false to cancel the default action.</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("beforedblclick")]
		public event ext.auto.Delegate_ext_tree_TreeNode_And_ext_EventObject Beforedblclick;
		
		/// <summary>Fires when this node is double clicked</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("dblclick")]
		public event ext.auto.Delegate_ext_tree_TreeNode_And_ext_EventObject Dblclick;
		
		/// <summary>Fires when this node is right clicked</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("contextmenu")]
		public event ext.auto.Delegate_ext_tree_TreeNode_And_ext_EventObject Contextmenu;
		
		/// <summary>Fires right before the child nodes for this node are rendered</summary>
		/// <definedin>src\widgets\tree\TreeNode.js</definedin>
		[ScriptName("beforechildrenrendered")]
		public event ext.auto.Delegate_ext_tree_TreeNode Beforechildrenrendered;
		#endregion
	}
}
